The present discussion relates to resource management in computing scenarios such as operating systems and hypervisors. Historically, resource management solutions have been rather unsystematic. For instance, urgency has been described by a single value (usually called a “priority”) associated with a thread of computation and adjusted within the operating system by a variety of ad-hoc mechanisms. Other resources, such as input/output (I/O) or network bandwidth, have been deemed so abundant as to require no management at all. The assumptions underlying existing resource management strategies of this sort no longer hold.